package com.ruoyi.demo.listener;

import cn.hutool.core.lang.Console;
import com.ruoyi.common.utils.redis.RedisUtils;
import org.redisson.api.DeletedObjectListener;
import org.redisson.api.ExpiredObjectListener;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * <简述>
 * <详细描述>
 *
 * @author syf
 * @date 2024年03月18日 22:38
 */
@Component
public class ExpiredListener {

    @PostConstruct
    public void expireListener(){
        Console.log("启动监听器。。。。");
        //用于监听 Redisson 分布式缓存中对象的过期事件
        RedisUtils.addObjectListener("java", new ExpiredObjectListener() {
            @Override
            public void onExpired(String name) {
                Console.log("ExpiredObjectListener:{}", name);
            }
        });

        //监听删除
        RedisUtils.addObjectListener("java", new DeletedObjectListener() {
            @Override
            public void onDeleted(String name) {
                Console.log("DeletedObjectListener:{}", name);
            }

        });
    }
}
